/*
* $Id$
*
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.richfaces.cdk.model;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
/**
* <p class="changed_added_4_0">
* </p>
*
* @author asmirnov@exadel.com
*
*/
@RunWith(Parameterized.class)
public class ClassDescriptionTest {
private final String className;
private final String expectedBoxedName;
private final String expectedCanonicalName;
private final String expectedTypeParameter;
private final String packageName;
private final String simpleName;
public ClassDescriptionTest(String className, String expectedCanonicalName, String expectedBoxedName,
String expectedTypeParameter, String packageName, String simpleName) {
this.className = className;
this.expectedCanonicalName = expectedCanonicalName;
this.expectedBoxedName = expectedBoxedName;
this.expectedTypeParameter = expectedTypeParameter;
this.packageName = packageName;
this.simpleName = simpleName;
}
@Parameters
public static Collection<String[]> values() {
return Arrays.asList(new String[] { int.class.getName(), "int", "java.lang.Integer", null, null, "int" },
new String[] { "java.util.List<String>", "java.util.List", "java.util.List<String>", "<String>", "java.util",
"List<String>" }, new String[] { "java.lang.String[]", "java.lang.String[]", "java.lang.String[]",
null, "java.lang", "String[]" }, new String[] { "java.util.List<String>[]", "java.util.List[]",
"java.util.List<String>[]", "<String>", "java.util", "List<String>[]" }, new String[] {
"java.util.List<java.lang.String>", "java.util.List", "java.util.List<java.lang.String>",
"<java.lang.String>", "java.util", "List<java.lang.String>" }, new String[] { double.class.getName(),
"double", "java.lang.Double", null, null, "double" });
}
/**
* Test method for {@link ClassName#ClassName(java.lang.String)}.
*/
@Test
public void testClassDescription() {
ClassName description = new ClassName(className);
assertEquals(className, description.toString());
assertEquals(expectedCanonicalName, description.getName());
assertEquals(expectedBoxedName, description.getBoxingName());
assertEquals(expectedTypeParameter, description.getTypeParameters());
assertEquals(packageName, description.getPackage());
assertEquals(simpleName, description.getSimpleName());
}
}